This function produces a descriptive message why R is not an BidirectionalRange. If R is an BidirectionalRange the returned string will say so.
This function produces a descriptive message why R is not a ForwardRange. If R is an ForwardRange the returned string will say so.
This function produces a descriptive message why R is not an InputRange. If R is an InputRange the returned string will say so.
This function produces a descriptive message why R is not an OutputRange. If R is an OutputRange the returned string will say so.
This function produces a descriptive message why R is not a RandomAccessRange. If R is an RandomAccessRange the returned string will say so.